package com.woniuxy.email.config;

import org.springframework.amqp.core.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.ArrayList;
import java.util.List;

/**
 * @author yellow Docter
 * @date 2024-10-23
 * @desc 蜗牛创想：www.woniuxy.com
 *   测试 fanout交换机
 */
//@Configuration
public class RabbitMQConfig {

//    /**
//     * @Bean  创建对象 添加到ioc容器中   这个注解只能用在方法上面
//     *        在ioc容器中的 id是 方法的名字 fanoutQueue1
//     * @return
//     */
//    @Bean
//    public Queue fanoutQueue1(){
//        return new Queue("fanout.queue1");
//    }
//
//    @Bean
//    public Queue fanoutQueue2(){
//        return new Queue("fanout.queue2");
//    }
//
//    /**
//     *     Exchange  抽象的
//     *        具体的实现
//     *           4个 常用的3个 是  FanoutExchange TopicExchange  DirectExchange
//     *     多态
//     * @return
//     */
//    @Bean
//    public Exchange fanoutExchange(){
//        return new FanoutExchange("fanout.exchange");
//    }
//
//    /**
//     * 把交换机 和 队列进行绑定
//     *    Binding  绑定对象
//     *    BindingBuilder 构建者  bind(队列).to(交换机)
//     *
//     *    fanoutBinding1(Queue fanoutQueue1, FanoutExchange fanoutExchange)
//     *      这里的参数 都是直接从IOC 容器中 自动注入进来
//     *
//     * @return
//     */
//    @Bean
//    public Binding fanoutBinding1(Queue fanoutQueue1, FanoutExchange fanoutExchange) {
//        return BindingBuilder.bind(fanoutQueue1).to(fanoutExchange);
//    }
//
//    @Bean
//    public Binding fanoutBinding2(Queue fanoutQueue2, FanoutExchange fanoutExchange) {
//        return BindingBuilder.bind(fanoutQueue2).to(fanoutExchange);
//    }
//
}
